package com.greensam.pixelengine.service;

import com.greensam.pixelengine.pojo.base.PaginationResponse;
import com.greensam.pixelengine.pojo.entity.PermissionPo;
import com.greensam.pixelengine.pojo.query.PermissionPageQuery;

import java.util.Collection;
import java.util.List;
import java.util.Optional;

/**
 * @author Ma Chengrui
 * @since 2025/9/22 14:22
 */
public interface PermissionDataService {

    PaginationResponse<PermissionPo> pagePermission(PermissionPageQuery pageQuery);

    Optional<PermissionPo> getPermissionById(Long id);

    Optional<PermissionPo> getPermissionByCode(String code);

    PermissionPo save(PermissionPo permissionPo);

    List<PermissionPo> listAllPermission();

    List<PermissionPo> listPermissionByIds(Collection<Long> ids);

    List<PermissionPo> listPermissionByCodes(Collection<String> codes);
}
